概述
在本文中,我將解釋為什麼版本控制對於Unreal Engine 5 (UE5)專案至關重要,使用版本控制的好處,以及為什麼UE Git插件比標準Git更適合。我還將提供一個逐步的指南,說明如何在UE5專案中使用UEGitPlugin(Git LFS 2)設置版本控制,比官方安裝指南提供更多詳細說明。
環境
- Unreal Engine 5.4
- Git 2.44.0
- UEGitPlugin 3.16
- Windows 11 Pro
為什麼你應該在Unreal Engine 5中使用版本控制?
版本控制對於遊戲開發至關重要,在使用UE5時,擁有一個穩固的版本控制系統可以避免許多麻煩。無論你是獨立開發者還是團隊成員,版本控制都能確保你的工作得到備份、組織並能輕鬆恢復。
以下是使用版本控制在UE5中的好處:
- 專案備份與恢復
遊戲專案很複雜,由於意外刪除、崩潰或文件損壞而丟失進度可能是毀滅性的。版本控制允許你恢復到專案的先前版本,確保不會丟失重要的工作。
- 協作與團隊工作流程
對於團隊來說,版本控制使協作變得無縫。多個開發者可以同時在不同的功能上工作,而不會覆蓋彼此的工作。分支和合併有助於平滑地整合變更,同時保持專案的穩定性。
- 無風險的實驗
想嘗試一個新的遊戲機制,但又怕它會破壞專案?使用版本控制,你可以創建一個單獨的分支,測試你的想法,只有當它按預期運行時才會合併。這種靈活性鼓勵實驗和創新。
- 追蹤變更與調試
版本控制會記錄對專案所做的所有更改。如果引入了錯誤,你可以通過查看之前的提交來輕鬆追蹤問題出現的時間和地點。這使得調試比沒有版本控制時更容易。
為什麼使用UE Git插件而非標準Git?
更好的二進制文件處理
Unreal Engine專案包含許多二進制文件(.uasset, .umap),這些文件不像基於文本的源代碼那樣容易進行差異比較。標準Git對大型二進制文件的處理有困難,而UE Git插件則支持這些文件,並提供像是文件鎖定(Check Out)的功能,類似於Perforce、Plastic SCM和SVN。
此視頻(27:55 - 32:47)解釋了為什麼標準Git對UE專案來說並不理想:
我對選擇版本控制工具的建議
團隊規模 | 推薦的版本控制工具 |
---|---|
獨立開發者 | 配合UE Git插件使用Git,或使用帶LFS的標準Git |
團隊(2-5人) | 配合UE Git插件使用Git / Plastic SCM / Subversion |
團隊(6人以上) | 考慮使用Perforce(但費用較高) |
如何安裝並設置UE Git插件
按照以下步驟在UE5中安裝並啟用UE Git插件。
該插件需要從Visual Studio(或Rider)進行編譯,因此你的專案中必須至少包含一個C++文件。
步驟1:安裝Git
確保你的系統中已安裝Git。如果未安裝,請從git-scm.com下載並安裝。
安裝過程中,請確保選中Git LFS和Git Credential Manager。
步驟2:Git身份驗證
啟動Git Bash。
配置你的GitHub帳戶:
1git config --global user.name "yourUserName" 2git config --global user.email yourEmail
步驟3:設置Git儲存庫
要設置Git儲存庫,你可能需要一個Git GUI客戶端,如GitHub Desktop、Fork或Sourcetree。或者,你可以使用命令行。
在此示例中,我們將使用Fork。打開Fork並導航至File -> Init New Repository...。
然後,選擇你的專案根目錄。
接著,轉到GitHub,點擊右上角的**+按鈕,並選擇New repository**。
輸入儲存庫名稱,選擇Public或Private,然後點擊Create repository。
確保選擇HTTPS,然後點擊複製按鈕以複製儲存庫URL。
回到Fork,右鍵點擊Remotes -> Add New Remote...。
將複製的URL粘貼到Repository URL,然後點擊Add New Remote。
步驟4:下載UEGitPlugin
轉到Unreal Engine Git Plugin並下載ZIP文件。
安裝到專案
將插件解壓到project/Plugins/Developer
文件夾。如果Plugins
或Developer
文件夾不存在,請創建它們。
解壓後,你將看到兩個UEGitPlugin-3.16
文件夾,僅保留一個。
將UEGitPlugin-3.16
文件夾複製到Developer
文件夾中(刪除重複的UEGitPlugin-3.16文件夾)。
你的文件夾結構應該如下所示:
或者,你可以安裝到引擎
解壓到Engine/Plugins/Developer
文件夾。
然後將Engine/Plugins/Developer/GitSourceControl.uplugin
重命名為Engine/Plugins/Developer/GitSourceControl.uplugin.disabled
。
步驟5:設置.gitattributes和.gitignore
在專案根目錄中:
- 創建
.gitattributes
文件並複製.gitattributes中的內容。 - 創建
.gitignore
文件並複製.gitignore中的內容。
步驟6:編譯插件
在Visual Studio或Rider中打開你的專案.sln
文件,然後構建專案。
步驟7:設置UE版本控制
- 打開UE5,轉到插件菜單(Edit->Plugins),並啟用Git LFS 2。
- 點擊右下角的版本控制。
- 點擊Connect to Revision Control...
- 選擇提供者為Git LFS 2。
- 確保Git Path設置為
git.exe
,選中Uses Git LFS,並輸入你的GitHub用戶名(應與"UserName"下顯示的名稱匹配)。 - 點擊Accept Settings。
步驟8:插件配置
編輯Config/DefaultEditorPerProjectUserSettings.ini
,並粘貼以下內容。
1[/Script/UnrealEd.EditorLoadingSavingSettings] 2bSCCAutoAddNewFiles=False 3bAutomaticallyCheckoutOnAssetModification=False 4bPromptForCheckoutOnAssetModification=True 5 6[/Script/UnrealEd.EditorPerProjectUserSettings] 7bAutoloadCheckedOutPackages=True
完成!
使用方法
在 UE5 中進行拉取、推送、提交
查看檔案歷史
檢出(鎖定)檔案
當您編輯並保存檔案時,它將被檢出(紅色勾選標記)。
您也可以手動檢出檔案: 右鍵點擊 → 版本控制 → 檢出
其他使用者在您提交和推送或還原變更之前,無法修改被鎖定的檔案。
插件 GitHub 頁面
欲了解更多信息,請訪問官方插件頁面:Unreal Engine Git Plugin
特別感謝
感謝 @aizen76 (alwei) 和 @toshiyuki_wada (ぽちお) 介紹這個插件給我。
同時,感謝插件作者 mastercoms 幫助我解決安裝問題。
如果有任何問題,請隨時留言。
參考資料
- Unreal Engine Git Plugin
- 視頻:Ari Arnbjörnsson (Housemarque):來自 UE4 AAA 開發一年的經驗教訓
- 視頻:如何在 Unreal Engine 中使用 GitHub | Unreal Engine 遠程團隊項目協作
- 視頻:Unreal Engine 5 中的版本控制 - Git、GitHub 和 Gitlab
- 視頻:深入了解 Unreal Engine 中的源代碼控制 | 網絡研討會
- 視頻:【UE5 x Git 入門】即使是本地也能使用!今天開始學版本管理【Azure】
- UE 奈良 LT UE5 項目使用 Git 進行管理
- 【UE5】團隊開發中的 Git 運用範例
- 【Git/UE5】使用 Git 進行 Unreal Engine 版本管理的開始方法
- 在 Unreal Engine 的 Revision Control(源代碼控制)中使用 Git (1)